CC=gcc -g
LIBS=`pkg-config libglade-2.0 goocanvas --libs`
FLAGS=`pkg-config libglade-2.0 goocanvas --cflags`
GLADE_USE_MAIN=-export-dynamic
DLL=gui.so
OBJECTS=$(DLL) gui_user.o

all : gui.bin

gui.bin : $(OBJECTS)
	$(CC) -o gui.bin gui_user.o $(DLL) $(FLAGS)

gui_user.o : gui_user.c gui.h $(DLL)
	$(CC) -c gui_user.c $(FLAGS)

$(DLL) : gui.h gui_callbacks.o gui_funcs.o misc_tools.o simulateur.o
	$(CC) -shared -o $(DLL) gui_funcs.o misc_tools.o gui_callbacks.o simulateur.o $(FLAGS) $(LIBS)

gui_callbacks.o : gui_callbacks.c gui_callbacks.h gui_funcs.h gui_globals.h
	$(CC) -c gui_callbacks.c $(FLAGS)

gui_funcs.o : gui_funcs.c gui_funcs.h gui_globals.h compile_opts.h model_fake.h
	$(CC) -c gui_funcs.c $(FLAGS)
	
misc_tools.o : misc_tools.h misc_tools.c gui_globals.h
	$(CC) -c misc_tools.c $(FLAGS)

simulateur.o : simulateur.c
	$(CC) -c simulateur.c $(FLAGS)

clean :
	rm *.o *.so *.bin
